home *** CD-ROM | disk | FTP | other *** search
- Path: keats.ugrad.cs.ubc.ca!not-for-mail
- From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku)
- Newsgroups: comp.lang.c
- Subject: Re: Finite State Machine
- Date: 1 Apr 1996 11:53:56 -0800
- Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
- Message-ID: <4jpc8kINN3oo@keats.ugrad.cs.ubc.ca>
- References: <8BDC44A.02C7002D6C.uuout@sourcebbs.com> <4joh9v$jct@news.acns.nwu.edu>
- NNTP-Posting-Host: keats.ugrad.cs.ubc.ca
-
- In article <4joh9v$jct@news.acns.nwu.edu>,
- Usman Muzaffar <muzaffar@casbah.acns.nwu.edu> wrote:
- >In article <8BDC44A.02C7002D6C.uuout@sourcebbs.com>,
- >DAVID MOHORN <david.mohorn@sourcebbs.com> wrote:
- >>Whats a Finite State Machine (FSM)?
- >>
- >
- >First of all, this question has absolutely nothing to do with C,
- >so redirect follow-ups to comp.theory whatever.
- >
- >An FSM is a mathematical construct. Technically, it's an ordered
- >quintuple consisting of a set of states, a start state, a transition
- >function, an alphabet, and a set of finishing states.
- >
- >Without getting into all the gory details: it's basically a mathematical
- >description of a very, simple computer that is a very useful model
- >for studying what kind of problems can be solved and how.
-
- Heh. I think you may have mixed that up with Turing Machine.
-
- Most computers are FSM's only in the sense that memory is limited, but the
- abstract FSM is a pretty useless model for studying what kinds of problems are
- can be practically solved.
-
- Many problems that _are_ computable on small data sets can't easily be modelled
- by FSM's.
-
- You can't design a parser for a nested grammar with an FSM, for example.
- Actually you could, but you would have to have a large number of states
- explicitly defined, to account for the deepest possible nesting: not a suitable
- way to approach the problem, when you can just pretend that your computer is a
- TM for sufficiently small data sets. The structure of actual, real-world
- reflects that. A C program, for instance, is _conceptually_ portable to a
- machine that has an infinite stack depth, infinite malloc() space, and so
- forth.
- --
-
-